From c4183ed568e23436901eab75961cadaf1eba2b3d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 8 Nov 2004 21:25:27 +0000 Subject: [PATCH] Use xdg_mime_mime_type_subclass() to match mime types. This also gives use 2004-11-08 Matthias Clasen * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use xdg_mime_mime_type_subclass() to match mime types. This also gives use wildcard matching. (#143760, #141224, Tommi Komulainen, David A Knight) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkfilefilter.c | 5 ++++- gtk/xdgmime/ChangeLog | 3 +++ gtk/xdgmime/xdgmime.c | 7 +++++-- 7 files changed, 32 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d113e2d47a..be7317ba7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2004-11-08 Matthias Clasen + * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use + xdg_mime_mime_type_subclass() to match mime types. This + also gives use wildcard matching. (#143760, #141224, + Tommi Komulainen, David A Knight) + * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use gtk_widget_{hide,show} instead of g_object_set (..."visible"...). diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index d113e2d47a..be7317ba7a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,10 @@ 2004-11-08 Matthias Clasen + * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use + xdg_mime_mime_type_subclass() to match mime types. This + also gives use wildcard matching. (#143760, #141224, + Tommi Komulainen, David A Knight) + * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use gtk_widget_{hide,show} instead of g_object_set (..."visible"...). diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index d113e2d47a..be7317ba7a 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,5 +1,10 @@ 2004-11-08 Matthias Clasen + * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use + xdg_mime_mime_type_subclass() to match mime types. This + also gives use wildcard matching. (#143760, #141224, + Tommi Komulainen, David A Knight) + * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use gtk_widget_{hide,show} instead of g_object_set (..."visible"...). diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index d113e2d47a..be7317ba7a 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,5 +1,10 @@ 2004-11-08 Matthias Clasen + * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use + xdg_mime_mime_type_subclass() to match mime types. This + also gives use wildcard matching. (#143760, #141224, + Tommi Komulainen, David A Knight) + * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use gtk_widget_{hide,show} instead of g_object_set (..."visible"...). diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c index b248c78cae..561b6fa4d8 100644 --- a/gtk/gtkfilefilter.c +++ b/gtk/gtkfilefilter.c @@ -26,6 +26,9 @@ #include "gtkobject.h" #include "gtkprivate.h" +#define XDG_PREFIX _gtk_xdg +#include "xdgmime/xdgmime.h" + typedef struct _GtkFileFilterClass GtkFileFilterClass; typedef struct _FilterRule FilterRule; @@ -403,7 +406,7 @@ gtk_file_filter_filter (GtkFileFilter *filter, { case FILTER_RULE_MIME_TYPE: if (filter_info->mime_type != NULL - && strcmp (rule->u.mime_type, filter_info->mime_type) == 0) + && xdg_mime_mime_type_subclass (filter_info->mime_type, rule->u.mime_type)) return TRUE; break; case FILTER_RULE_PATTERN: diff --git a/gtk/xdgmime/ChangeLog b/gtk/xdgmime/ChangeLog index d5fa32368f..5841b98a77 100644 --- a/gtk/xdgmime/ChangeLog +++ b/gtk/xdgmime/ChangeLog @@ -1,5 +1,8 @@ 2004-11-08 Matthias Clasen + * xdgmime.c (xdg_mime_mime_type_subclass): Enable matching + of supertypes as text/*. + * Sync from upstream 2004-10-27 Matthias Clasen diff --git a/gtk/xdgmime/xdgmime.c b/gtk/xdgmime/xdgmime.c index df618b2798..df59f26834 100644 --- a/gtk/xdgmime/xdgmime.c +++ b/gtk/xdgmime/xdgmime.c @@ -573,7 +573,7 @@ xdg_mime_media_type_equal (const char *mime_a, return 0; } -#if 0 +#if 1 static int xdg_mime_is_super_type (const char *mime) { @@ -605,7 +605,10 @@ xdg_mime_mime_type_subclass (const char *mime, if (strcmp (umime, ubase) == 0) return 1; -#if 0 + /* We really want to handle text/* in GtkFileFilter, so we just + * turn on the supertype matching + */ +#if 1 /* Handle supertypes */ if (xdg_mime_is_super_type (ubase) && xdg_mime_media_type_equal (umime, ubase)) -- 2.30.2